﻿using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.OracleClient;
using bi4homev3.Entidades;

namespace bi4homev3.Acceso_a_Datos
{
    //Clase especifica de Oracle para operaciones con Servicios
    public class OracleServicioDAO : ServicioDAO
    {

        public void insertarServico(Gastos gas)
        {
            #region INsertar srvicios nuevo, creacion y asignacion de sus parametros y ejecucion del Proc de BD
            OracleConnection conexion = FabricaOracleDAO.Crear();
            OracleCommand comando = new OracleCommand("APLICACION.INSERTARSERVICIOUSR", conexion);
            comando.CommandType = CommandType.StoredProcedure;
            comando.Parameters.Add(new OracleParameter("nombre", OracleType.VarChar, 30));
            comando.Parameters.Add(new OracleParameter("descripcion", OracleType.VarChar, 20));
            comando.Parameters.Add(new OracleParameter("usrname", OracleType.VarChar, 20));
            comando.Parameters["nombre"].Value = gas.Nombre;
            comando.Parameters["descripcion"].Value = gas.Descripcion;
            comando.Parameters["usrname"].Value = gas.Usuario;
            comando.ExecuteScalar();
            #endregion
            FabricaOracleDAO.cerrarConexion();
        }

        public void insertarpagoservicio(PagoServicio pagar)
        {
            #region Insertar el pago de un servicio, creacion de parametros y ejecucion del Proc de BD
            OracleConnection conexion = FabricaOracleDAO.Crear();
            OracleCommand comando = new OracleCommand("APLICACION.INSERTARPAGODESERVICIOS", conexion);
            comando.CommandType = CommandType.StoredProcedure;
            comando.Parameters.Add(new OracleParameter("usr", OracleType.VarChar, 30));
            comando.Parameters.Add(new OracleParameter("fecha", OracleType.VarChar, 20));
            comando.Parameters.Add(new OracleParameter("numerofactura", OracleType.Number, 10));
            comando.Parameters.Add(new OracleParameter("monto", OracleType.Number, 30));
            comando.Parameters.Add(new OracleParameter("servicio", OracleType.Number, 3));
            comando.Parameters["usr"].Value = pagar.Usuario;
            comando.Parameters["fecha"].Value = pagar.Fecha;
            comando.Parameters["numerofactura"].Value = pagar.NumeroFactura;
            comando.Parameters["monto"].Value = pagar.Monto;
            comando.Parameters["servicio"].Value = pagar.Servicio;
            comando.ExecuteScalar();
            #endregion
            FabricaOracleDAO.cerrarConexion();
        }
    }
}
